package jdbcTest;

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: tao
 * Date: 2023-11-13
 * Time: 8:52
 */
public class JbdcTest {

    public static void main(String[] args) throws SQLException {
        //1、创建数据源
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java110?characterEncoding=utf8&&userSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("123456");

        //2、和数据库服务器建立连接
        Connection connection = dataSource.getConnection();

        //3、创建一个sql语句
        String sql = "insert into student values(1, '张三')";
        //预处理
        PreparedStatement statement = connection.prepareStatement(sql);

        //4、执行sql语句
        int n = statement.executeUpdate();
        System.out.println("n: " + n);

        //5、释放必要的资源
        statement.close();
        connection.close();
    }


    public static void main2(String[] args) throws SQLException {
        //1、创建数据源
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java110?characterEncoding=utf8&&userSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("123456");

        //2、和数据库服务器建立连接
        Connection connection = dataSource.getConnection();

        //3、构造一个sql语句
        String sql = "insert into student values(1,'张三')";
        //预编译
        PreparedStatement statement = connection.prepareStatement(sql);

        //4、把构造好的sql语句发送到服务器中执行
        int n = statement.executeUpdate();
        System.out.println("n: "+ n);

        //5、回收必要的资源
        statement.close();
        connection.close();
    }
    public static void main(String[] args) throws SQLException {
        //1、创建数据源
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java110?characterEncoding=utf8&&useSSL=false");
                            //指定你要操作数据库的位置，语法：jdbc:mysql://127.0.0.1:3306/数据库名称?字符集=utf8&&useSSL
                                // （useSSL是一个参数，用于指示JDBC连接是否要使用SSL（安全套接字层）来加密通信）
        ((MysqlDataSource)dataSource).setUser("root");//用户名
        ((MysqlDataSource)dataSource).setPassword("123456");//数据库的密码

        //2、和数据库服务器，建立连接
        Connection connection = dataSource.getConnection();

        //3、构造一个SQL
        String sql = "insert into student values(3, '王五')";
        //需要把String sql 转出语句对象，客户端预处理好这些sql，减轻服务器的计算量
        PreparedStatement statement = connection.prepareStatement(sql);

        //4、把构造好的SQL发送给服务器去执行
        int n = statement.executeUpdate();
        System.out.println("n = " + n);//这个 n 是告诉我们影响了几行

        //5、最后一步，释放资源（释放的顺序和创建这些资源的顺序反过来的）
        statement.close();
        connection.close();
    }
}
